1. Field of the Invention
This invention relates to signal processing and more particularly relates to detection of signal features, such as a start code, in a bit stream that may be formatted in accordance with any of a plurality of formatting standards.
2. Description of the Related Art
Data transmission involving voluminous quantities of information has become a frequent occurrence with the advent of large bandwidth transmission capabilities and implementation of high speed processing applications and equipment. One of the driving forces behind large scale data transmission is the increasing use of multimedia operations. Although the computing power of processors has advanced steadily and rapidly, the demand for higher processing power and computing efficiency remains unabated due to the development of aggressive new applications in the multimedia field that call for the display and performance of ever larger data quantities. To reconcile the information quantities involved with transmitting, receiving, and processing limitations, various compression standards have attained wide spread use for compressing and decompressing information. Widely accepted and used compression and decompression standards for video data are the International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Motion Pictures Experts Group (MPEG) MPEG-1 and MPEG-2 standards, and the United Nation's International Telecommunications Union Telecommunications Standardization Bureau (ITU-T) H.261 and H.263 standards.
The MPEG-1, MPEG-2, H.261, and H.263 standards extensively utilize variable length code ("VLC") words to assist in achieving reasonable compression ratios. The VLC words are generally characterized in tables commonly referred to as Huffman tables or entropy code tables.
The MPEG-1, MPEG-2, H.261, and H.263 standards specify that variable length bit streams may be interposed between successive start codes. Accordingly, the exact location of each start code is not predictable. One method of locating a start code involves examining the bit stream bit by bit until a start code is identified. However, with the substantial throughput demands of codec (compression/decompression) devices, examining the bit stream bit by bit is generally inefficient.
Additionally, in various applications, such as video conferencing where actual data is transmitted through the telephone line and public switching networks, is highly probable that some invalid data is included in an incoming bit stream. Efficient error handling is advantageous but can be difficult to implement.